<!DOCTYPE html>
<html lang="zh-cn">
<head>
  <title class="nonu">Asciimath 测试与示例</title>
  <meta charset="utf-8" />
  <link rel="stylesheet" type="text/css" href="../../css/note.css" />
</head>
<body>

<h2>什么是 Asciimath?</h2>

<ol>一种 js 实现的简易的数学公式标记语言. 相比 latex 更加易学易用, 它有如下特点:
  <li>没有 latex 中繁琐的反斜杠, 可读性强;</li>
  <li>即使公式有语法错误, 也只会影响单个公式, 不影响整个页面的加载;</li>
  <li>asciimath 的优先级很复杂, 但你只需在不确定时多加括号;</li>
</ol>

<h2>测试</h2>

    `Gal(bbb K, bbb F) = {sigma in Aut(bbb K): {:sigma|_(bbb F)
    = {:"id"|_(bbb F)}`,
<table>
  <tr>
    <td>矩阵</td>
    <td>`[a, b; c, d]`,
        `[
          a, b;
          c, d;
         ]`,
         `[a, ; , d]`, <!-- TODO -->
         `{
           u{:|:}_(t=0) = varphi(x);
           u_t{:|:}_(t=0) = psi(x)
         :}`
    </td>
  </tr>
  <tr>
    <td>上下标</td>
    <td>`"e"^-x`,
        `int_(-oo)^oo`,
        `a_2^3`,
        `a^3_2`,
        `("d"f)/dx|_(x_0)`,
        `x^(2^3)`,
        `sin x_1`
    </td>
  </tr>
  <tr>
    <td>优先级</td>
    <td>`x^2/y^2`,
        `1/sqrt x`,
        `sqrt x/y`,
        `f(x)/g(x)`,
        `a(x)/b(x)`,
        `(x/y)^2`,
        `(x!)/(y!)`,
        `vec(AB)^2`,
        `sin a/b`,
        `sin {:a/b:}`,
        `ln a/b`,
        `bm x_n`
    </td>
  </tr>
</table>

<h2>段落与实例</h2>

<p>	普通段落: 我们熟知, `pi/4 = 1 - 1/3 + 1/5 - 1/7 + cdots`.</p>

<p>	内嵌公式的段落, 请看公式 <a class="ref" href="#for-foo"></a>
	<span class="formula">
		<span class="box">
			`"e"^(pi"i") + 1 = 0`.
		</span>
		<span class="label" id="for-foo"></span>
	</span>
</p>

<h3>列表</h3>

<ol class="enum">
	<li>分支公式:
		<span class="formula">`|x| = {
			x,  if x ge 0;
			-x, if x lt 0;
		:}`</span>
	</li>
	<li>多行公式:
		<span class="formula">
			`"line one"`<br/>
			`"line two"`
		</span>
	</li>
	<li>下标有时要加括号:
		<span class="formula">
			左导数 `f_(-)'(x_0)`
			右导数 `f_+'(x_0)`
		</span>
	</li>
	<li>微分符号:
		<span class="formula">
			`("d"f)/("d"x)`
		</span>
	</li>
	<li>子列表
		<ol class="subenum">
			<li>项目1</li>
			<li>项目2</li>
			<li>项目3</li>
			<li>子子列表
				<ol class="col2">
					<li>项目1</li>
					<li>项目2</li>
					<li>项目3</li>
					<li>项目4</li>
				</ol>
			</li>
		</ol>
	</li>
	<li>树形列表
		<div class="tree">
		<span>进程管理</span>
		<ul>
			<li><span>进程</span>
				<ul>
					<li>概念: 与程序的区别</li>
					<li>特征: 动态性, 并发性, 独立性, 异步性, 结构性</li>
					<li>状态: 运行, 就绪, 阻塞, 创建, 结束</li>
				</ul>
			</li>
			<li><span>线程</span>
				<ul>
					<li>概念, 与进程的比较, 属性</li>
					<li>线程的实现方式</li>
				</ul>
			</li>
			<li>处理机调度</li>
			<li>进程同步</li>
			<li>死锁</li>
		</ul>
		</div>
		(以下写法只对支持 mathml 的浏览器有效)
		<math style="font-size: inherit">
		<mrow>
		进程管理<mo>{</mo>
		<mtable>
			<mtr>
			<mrow>
				进程<mo>{</mo>
				<mtable>
					<mtr>概念: 与程序的区别</mtr>
					<mtr>特征: 动态性, 并发性, 独立性, 异步性, 结构性</mtr>
					<mtr>状态: 运行, 就绪, 阻塞, 创建, 结束</mtr>
				</mtable>
			</mrow>
			</mtr>
			<mtr>
			<mrow>
				线程<mo>{</mo>
				<mtable>
					<mtr>概念, 与进程的比较, 属性</mtr>
					<mtr>线程的实现方式</mtr>
				</mtable>
			</mrow>
			</mtr>
			<mtr>处理机调度</mtr>
			<mtr>进程同步</mtr>
			<mtr>死锁</mtr>
		</mtable>
		</mrow>
		</math>
	</li>
</ol>

<p class="proof">
	因为人都是要死的, 苏格拉底是人; 所以苏格拉底也是要死的.
	<span class="right">&square;</span>
</p>

<p class="solution">
	...
</p>

<p class="answer">
	...
</p>

<p class="remark">
	很显然.
</p>

<!--
<script>
var asciimath = {
  katexpath: '../../js/katex.min.js',
  katex: true,
};
</script>
-->
<script src="../../js/note.js?type=math"></script>
</body>
</html>
